#ifndef ARRAY_H
#define ARRAY_H

#include <stdio.h>

class Array
{
	private:
		int* first;
		size_t mem_size;
		size_t size;
	public:
		explicit Array(const size_t tsize);
		int get(const size_t index) const;
		void set(const size_t i, const int value);
		size_t get_size() const;
		size_t get_mem_size() const;
		~Array();
		Array(const Array& another);
		Array& operator= (const Array &another);
		void push_back(const int value);
	private:
		void swap(Array& another);
		void make_big_copy();
};

#endif
